package sort;
/**
 * 七大排序的整合应用
 */
public class SevenSort {

    /** 冒泡排序法 **/
    public static void bubbleSort(int[] arr) {
        BubbleSort.bubbleSort(arr);
    }

    /** 选择排序法 **/
    //直接选择排序法
    public static void selectionSort(int[] arr) {
        SelectionSort.selectionSort(arr);
    }
    //双向选择排序法
    public static void selectionSortOP(int[] arr) {
        SelectionSort.selectionSortOP(arr);
    }

    /** 插入排序法 **/
    //直接插入排序法
    public static void insertionSort(int[] arr) {
        InsertionSort.insertionSort(arr);
    }
    //折半插入排序法
    public static void insertionSortBS(int[] arr) {
        InsertionSort.insertionSortBS(arr);
    }

    /** 希尔排序 **/
    public static void shellSort(int[] arr) {
        ShellSort.shellSort(arr);
    }

    /** 堆排序 **/
    public static void heapSort(int[] arr) {
        HeapSort.heapSort(arr);
    }

    /** 归并排序 **/
    //递归
    public static void mergeSort(int[] arr) {
        MergeSort.mergeSort(arr);
    }
    //迭代
    public static void mergeSortNonRecursion(int[] arr) {
        MergeSort.mergeSortNonRecursion(arr);
    }

    /** 快速排序 **/
    //递归
    public static void quickSort(int[] arr) {
        QuickSort.quickSort(arr);
    }
    //迭代
    public static void quickSortNonRecursion(int[] arr) {
        QuickSort.quickSortNonRecursion(arr);
    }
    //二路快排
    public static void quickSort2(int[] arr) {
        QuickSort.quickSort2(arr);
    }
    //三路快排
    public static void quickSort3(int[] arr) {
        QuickSort.quickSort3(arr);
    }
}
